Motion capture and analysis

ABSTRACT

Motion capture and analysis is described, including a motion sensor unit configured to capture data associated with movement of an object, to process the data to determine one or more values, to store the data and the one or more values, and to convert the data and the one or more values from an analog signal to a digital signal associated with a wireless transmission, and a display unit configured to receive the data from the motion sensor unit, the data being transmitted using through the wireless transmission, to process the data to determine one or more values, to store the data, and to graphically present the data and the one or more values.

This application is a continuation of application Ser. No. 12/194,450,filed on Aug. 19, 2008 and entitled “Motion Capture and Analysis,” nowU.S. Pat. No. 8,589,114, which is incorporated herein by reference.

FIELD

The present invention relates generally to computer softwarearchitecture and micro electro-mechanical devices and, morespecifically, motion capture and analysis is described.

BACKGROUND

The evaluation of motion in various contexts and activities is adifficult and often problematic task using conventional solutions.Conventional solutions often have bulky, cumbersome, and inaccurateimplementations that can affect the actual motion being evaluated.Further, many activities in which motion of, for example, a human bodyis evaluated require the use of specialized equipment that is oftenbulky and impractical. For example, motion evaluation of a combatantsoldier wearing various types of gear and weapons may require, inconventional solutions, the use of bulky or heavy motion sensors.Conventional sensors and sensory systems may be coupled to processingunits using either cumbersome wiring or heavy transmission equipmentthat requires a fixed and not portable system, minimizing both utilityand effectiveness. As another convention example, a baseball bat mayhave a motion sensor that is heavy and attached to the bat, which couldaffect the detection and evaluation of certain motions. In otheractivities such as golf, motion (e.g., velocity, angle of impact of aclub face against a ball, trajectory, and others) is typically notmeasured accurately nor easily measured using conventional solutions. Asmany golfers are aware, the trajectory of a golf ball depends upon theforward velocity, path, and relative club face angle of a golf club atthe time of impact with the golf ball. Additionally, the ability totrack and display the position and the forward velocity of the golf clubthrough a full range of swing motion is vital to developing a successfuland repeatable golf swing. While conventional techniques exist tocapture motion of an object, there are various problems and limitationsassociated with conventional motion capture and analysis apparatus andtechniques.

Limitations inherent to the conventional motion capture and analysissystems generally tend to preclude the everyday golfer from utilizing orbenefitting from the training benefits imparted by such a system. Forexample, conventional motion capture and analysis systems tend to becomplex, difficult to utilize and are not user friendly. Additionally,the conventional equipment is expensive, cumbersome and is limited inusability. Conventional equipment is not readily portable and must beused at a driving range or other training facility. Conventionalequipment cannot be easily transported around a golf course, oftenbecoming cumbersome for use throughout a round of golf. Conventionalequipment lacks subjectivity and relies upon a universal standard inwhich to compare the user's particular swing motion. Conventionalequipment does not account for variation in user's physiologicalcharacteristics.

Thus, what is needed is a solution for capturing and evaluating theswing motion of a golfer without the limitations of conventionaltechniques and equipment.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be readily understood by the followingdetailed description in conjunction with the accompanying drawings, andlike reference numerals designate like structural elements.

FIG. 1A illustrates an exemplary system configured to implement motioncapture and analysis;

FIG. 1B illustrates an alternative exemplary system;

FIG. 1C illustrates another alternative exemplary system;

FIG. 2A illustrates an exemplary application architecture configured toimplement motion capture and analysis;

FIG. 2B further illustrates an exemplary application architectureconfigured to implement motion capture and analysis;

FIG. 3A illustrates an exemplary motion sensor unit;

FIG. 3B illustrates a further exemplary motion sensor unit;

FIG. 4A illustrates an exemplary process for motion capture andanalysis;

FIG. 4B and FIG. 4C illustrate an alternative exemplary process formotion capture and analysis; and

FIG. 5 illustrates an exemplary computer system suitable to implementmotion capture and analysis.

DETAILED DESCRIPTION

Various embodiments or examples may be implemented in numerous ways,including as a system, a process, an apparatus, a user interface, or aseries of program instructions on a computer readable medium such as acomputer readable storage medium or a computer network where the programinstructions are sent over optical, electronic, or wirelesscommunication links. In general, operations of disclosed processes maybe performed in an arbitrary order, unless otherwise provided in theclaims.

A detailed description of one or more examples is provided below alongwith accompanying figures. The detailed description is provided inconnection with such examples, but is not limited to any particularexample. The scope is limited only by the claims and numerousalternatives, modifications and equivalents are encompassed. Numerousspecific details are set forth in the following description in order toprovide a thorough understanding. These details are provided for thepurpose of example and the described techniques may be practicedaccording to the claims without some or all of these specific details.For clarity, technical material that is known in the technical fieldsrelated to the examples has not been described in detail to avoidunnecessarily obscuring the description.

In some examples, the described techniques may be implemented as acomputer program or application (“application”) or as a plug-in, module,or sub-component of another application. The described techniques may beimplemented as software, hardware, firmware, circuitry, or a combinationthereof. If implemented as software, the described techniques may beimplemented using various types of programming, development, scripting,or formatting languages, frameworks, syntax, applications, protocols,objects, or techniques, including C, Objective C, C++, C#, Adobe®Integrated Runtime™ (Adobe® AIR™), ActionScript™, FIex™, Lingo™ Java™,Javascript™, Ajax, Perl, Python, COBOL, Fortran, ADA, XML, MXML, HTML,DHTML, XHTML, HTTP, XMPP, and others. Design, publishing, and othertypes of applications such as Dreamweaver®, Shockwave®, Flash®, andFireworks® may also be used to implement the described techniques. Thedescribed techniques may be varied and are not limited to the examplesor descriptions provided.

An apparatus and techniques for motion capture and analysis aredescribed herein. By using this motion capture and analysis apparatus, agolfer may be provided a visual tool to aid in analysis and developmentof their golf swing. This motion capture apparatus allows a user to savetheir personalized best swing as a reference for future comparison. Thedesignation of a best swing is made by the user, and is not based uponan arbitrary universal conception of what constitutes a successful orproductive swing motion. In other words, a motion capture and analysisapparatus may be used to assist the practice and perfection of arepeated dynamic motion, such as a golf swing. Various alternativeimplementations and modifications to the examples provided may be usedand are not limited to the descriptions, dimensions, or other exemplarydetails provided herein.

FIG. 1A illustrates an exemplary system configured to implement motioncapture and analysis. Here, system 100 includes motion sensor unit 102,display mat 104, portable display 106, display 108, terminal 110,processor 112, and database 114. In some examples, motion sensor unit102 may be coupled, directly or indirectly, to a golf club, bat, racket,or other implement that may be used in a physical activity such as golf,baseball, tennis, or the like. Motion sensor unit 102 may includevarious types of devices or units (e.g., software, hardware, circuitry,or a combination thereof) for motion measurement (e.g., accelerometer,gyroscope, and others) may be used to gather data associated with themotion of a given implement that is processed using system 100. Further,using processors and wireless data communication protocols andtechniques, data may be transmitted from motion sensor unit 102 todisplay units (e.g., portable display 106, display 108, terminal 110, orothers), processor 112, or devices that may be configured to use,analyze, evaluate, transform, or perform other operations on data frommotion sensor unit 102. Display 108, in some examples, may beimplemented using a liquid crystal display (LCD), projection tubetelevision, digital television, or any type of analog or digitaldisplay. As an example, display 108 may receive data for display usingvarious types of wireless, wired, optical, acoustic, or other video datatransmission protocols (e.g., S-video, high definition multimediainterface (HDMI), or others). In other examples, a wireless receivingunit (not shown) may be coupled to display 108 and used to receive datafrom motion sensor unit 102, processor 112, display mat 104, or otherelements. In still other examples, processor 112 may be implemented asan element of a wireless receiving unit (not shown) coupled to display108 in order to process data for generating and rendering an image orvideo on display 108. In further examples, a wireless receiving unit(not shown) may be referred to as a sensor pod or dongle (“dongle”) and,when coupled to display 108, process data received from motion sensorunit 102 in order to generate and render an image for display. Further,the above-described techniques may be used to provide data processingcapabilities of data received from motion sensor unit 102 and renderedon display 108, terminal 110, or other types of displays not shown.Still further, data may be transmitted from motion sensor unit 102,received by a dongle (not shown), and processed, rendered, and displayedin real-time or substantially real-time on display 108. In otherexamples, system 100 and the above-described elements may be varied indesign, function, structure, configuration, implementation, or otheraspects and are not limited to the examples described.

Here, processor 112 may be used to process data provided by motionsensor unit 102 in order to generate a display on, for example, portabledisplay unit 106 or display mat 104. As another example, processor 112may be implemented in a separate device or in connection with motionsensor unit 102, display mat 104, portable display 106, display 108,terminal 110, or any other type of device including, for example, atelevision (TV), monitor, display, or other type of device. For example,motion sensor unit 102 may be coupled to a golf club (not shown) and,when the golf club is swung, data may be captured by motion sensor unit102 and transmitted to processor 112 using, for example, a wirelesstransmitter, transceiver, or the like (not shown). As another example,processor 112 may be implemented within a dongle or other type ofwireless receiver coupled to display 108. When data is received by adongle, images or video of motion captured by motion sensor unit 102 maybe recorded and/or processed to display an image or video on display108. In other examples, processor 112 may be implemented as part ofdisplay 108 without the use of a dongle or other wireless sensor podcoupled externally to display 108. In some examples, database 114 may beimplemented to store and retrieve data associated with motion (e.g.,swinging motion of a golf club, bat, racket, or the like) captured bymotion sensor unit 102. For example, a golfer may wish to configureprocessor 112 to record and store data associated with a series ofswings in database 114, which may be implemented using a standalone ordistributed database, repository, data warehouse, storage area network(SAN), network attached storage, or other type of data storage facilityusing hardware and/or software. Further, once stored, data may beretrieved from database 114, which may be implemented with one, some, ornone of the other elements shown in system 100. In other words, database114 may be implemented with processor 112 with display 108. Database 114may also be implemented with one or more of motion sensor unit 102,display mat 104, portable display unit 106, display 108, terminal 110,processor 112, or other elements (not shown). In some examples, datafrom motion sensor unit 102 may be transmitted to display mat 104,portable display unit 106, display 108, or terminal 110 using one ormore wireless, wired, optical, acoustic, or other types of datacommunication links or protocols.

Once transmitted, data may be interpreted and processed by, for example,processor 112. Likewise, processor 112 may communicate data from motionsensor unit 102 to display mat 104 or other elements provided in system100. In some examples, display mat 104 may be configured to generate,render, and display an image on its surface. Display mat 104, in someexamples, may be configured for display on a horizontal, vertical,angled, or other type of surface. For example, display mat 104 bemounted on a vertical surface and used to display an image associatedwith a golf club, baseball bat, cricket bat, polo mallet, or others.Display mat 104 may also be configured to lie or be mounted to ahorizontal surface (e.g., floor, ground, or the like) and used topresent an image associated with motion under evaluation. Data forvarious types of motion may be evaluated and presented using thetechniques described herein.

For example, motion associated with a portion of a body (e.g., human orotherwise) may be evaluated by system 100, including detecting motionusing motion sensor unit 102, which is processed by processor 112 andstored in database 114 and/or presented on display mat 104, the latterof which may be implemented using various types of displays (e.g., mats,screens, upright displays, liquid crystal displays, and others withoutlimitation). Types of motion that may be evaluated include movement by aboxer's punching motion, a pitcher's baseball-throwing motion, afootball player's kicking motion (e.g., a punt), running motion, combator martial arts-related hand and foot motion, a dancer's foot, arm, orother body motion, and others.

As another example, when data is transmitted from motion sensor unit102, an image of a golf club head being swung may be generated ondisplay mat 104. Further, display mat 104 may use various types ofdisplay resolution techniques and is not limited to any particularimplementation. Further, display mat 104 may be implemented using aflexible LCD, active matrix, thin film transistor (TFT), or other typesof display technologies. In other example, portable display 106, display108, and terminal 110 may be used to display data generated by motionsensor unit 102, stored and retrieved from database 114, or processed byprocessor 112. Links provided by and between elements 102-112 may beimplemented as unidirectional, bidirectional, or other types of datacommunication links. In other examples, the number, type, configuration,and topology of system 100, motion sensor unit 102, display mat 104,portable display 106, display 108, terminal 110, and processor 112 maybe varied and are not limited to the descriptions provided.

FIG. 1B illustrates an alternative exemplary system. Here, system 120includes display 108, processor 112, dongle 122, and data connection124. In some examples, dongle 122 may be implemented as a wirelesstransceiver to receive and/or send data from processor 112 over dataconnection 124, which may be implemented using wired, wireless, optical,acoustic, or other types of data communication protocols. In otherexamples, dongle 122 may be implemented using a wired data connection(not shown) in order to receive data for generating, rendering, anddisplaying an image on display 108. In still other examples, processor112 may be implemented as part of dongle 122. Further, other elements(e.g., one or more of motion sensor unit 102, processor 112, database114, or others) may be implemented or integrated with dongle 122. Stillfurther, system 120 and the above-described elements may be varied inimplementation, function, structure, or other aspects and are notlimited to the examples provided above.

FIG. 1C illustrates another alternative exemplary system. Here, system130 includes motion sensor unit 102, display mat 104, display 108,processor 112, database 114, dongle 122, and data connection 124, whichmay be implemented as described above or differently. Further,application 132 may include motion sensor unit 102, display mat 104,processor 112, and database 114, which may be implemented as describedabove or differently. Further, application 132 may be implemented usinga standalone, distributed, or other type of application architecture ortopology. Alternatively one or more elements (e.g., motion sensor unit102, display mat 104, processor 112, database 114, or others) ofapplication 132 may be implemented apart from or as part of dongle 122or display 108. In other examples, system 130 and the above-describedelements may be varied in implementation, function, or structure and arenot limited to the descriptions provided.

FIG. 2A illustrates an exemplary application architecture configured toimplement motion capture and analysis. Here, motion sensor unit 200includes triple axis accelerometer 210, triple axis gyroscope 212, lowpass filtering 214, low pass filtering 216, analog to digital converter218, parallel to series converter 220, wireless modem 222 and wirelesstransceiver 224. In some examples, motion sensor unit 200 may include amicro-controller (not shown) similar to micro-controller 256 (describedbelow in connection with FIG. 2B).

In some examples, motion sensor unit 200 may be detachably coupled to anobject (e.g., golf club, tennis racket, baseball bat, softball bat,hockey stick, other sporting equipment, or others). Motion sensor unit200 may be various sizes and shapes to accommodate a static and secureattachment to the various shapes and sizes of the detachably coupledobject. Motion sensor unit 200 may have an adjustable attachmentmechanism to enable one unit to accommodate various shapes and sizes ofattached objects. Motion sensor unit 200 may be lightweight and easilyportable. Motion sensor unit 200 may be easily attached or detached fromthe object by the user, without the need for specialized tools oraccessories. In other examples, motion sensor unit 200 and theabove-described elements may be implemented differently and are notlimited to the descriptions provided.

In some examples, a power supply (not shown) such as a battery orexternal AC/DC converter may be coupled to motion sensor unit 200. Powersupplies may be implemented as rechargeable, non-rechargeable, portable,or disposable batteries. In other examples, a battery (not shown) may beimplemented as part of motion sensor unit 200, supplying power to motionsensor unit 200 and its associated components. In still other examples,a power source may be implemented as another attachment to motion sensorunit 200.

In some examples, triple axis accelerometer 210 and triple axisgyroscope 212 may be configured to measure movement of an object (e.g.,golf club, tennis racket, baseball bat, softball bat, hockey stick,other sporting equipment, or others). In some examples, triple axisaccelerometer 210 and triple axis gyroscope 212 may be a microelectro-mechanical system (MEMS) device. In other examples, triple axisaccelerometer 210 and triple axis gyroscope 212 may be an analog ordigital device. In some examples, triple axis accelerometer 210 may beconfigured to measure the acceleration of the object along the x-axis,y-axis and z-axis and triple axis gyroscope 212 may be configured tomeasure the rotational movement of the object along the planar,orthogonal and axial directions. In other examples, triple axisaccelerometer 210 and triple axis gyroscope 212 may be configureddifferently and are not limited to the descriptions provided.

Here, triple axis accelerometer 210 communicates the data signal to lowpass filtering 214 and triple axis gyroscope 212 communicates the datasignal to low pass filtering 216. Further, low pass filtering 214 andlow pass filtering 216 communicate the data signal to analog to digitalconverter 218. In some examples, analog to digital converter 218 may beconfigured to convert the data from an analog signal to a digitalsignal. Here, analog to digital converter 218 communicates the datasignal to parallel to series converter 220. In some examples, parallelto series converter 220 is configured to convert the data signal from aparallel electrical signal to a series electrical signal.

Here, parallel to series converter 220 communicates the data signal towireless modem 222. Wireless modem 222 is coupled to wirelesstransceiver 224 for sending and receiving signals (e.g., RF) betweenmotion sensor unit 200 and display unit (described below in connectionwith FIG. 2B). In some examples, wireless transceiver 224 may beconfigured to send and receive communication signals using variouswireless formats (e.g., ZigBee (i.e., IEEE 802.15.4 data communicationprotocol/standard/specification), radio frequency (RF) waves, IEEE802.11, Bluetooth, UHF, or others).

FIG. 2B further illustrates an exemplary application architectureconfigured to implement motion capture and analysis. Here, processingand display unit 250 includes wireless modem 254, wireless transceiver252, micro-controller 256, display driver 258, path driver 260, infodriver 262 and user interface 264. In some examples, processing anddisplay unit 250 may be a remote device or system (e.g., display mat,portable display device, television monitor, computer, server, videorecorder, or others) configured to present or display visual, graphicalor numerical data measured by the motion sensor unit (described above inconnection with FIG. 2A) and values associated with object movement,which are calculated using the measured data. In some examples,processing and display unit 250 may be configured to save the graphicand numerical data and values associated with a user selected referencepoint (i.e., “best swing”) for comparison with subsequent iterations ofthe object movement. In some examples, processing and display unit 250may be configured to provide an acoustic indication or response.Processing and display unit 250 may be configured with a memory device(not shown here). The memory device may be a permanent or removablememory card or hard drive.

In some examples, processing and display unit 250 presents variousparameters associated with the motion of an object such as measured data(e.g., three dimensional acceleration, three dimensional rotationalacceleration, maximum acceleration, or others) or calculated values(e.g., three dimensional velocity, three dimensional rotationalvelocity, location coordinates, maximum velocity, impact velocity,relative angle of object at point of impact, or others). Still further,processing and display unit 250 may be configured to graphically presenta directional path representing the actual movement of an object andgraphically indicate various significant points of reference (e.g.,point of maximum velocity, or others) along the object's path ofmovement. In other examples, processing and display unit 250 may beconfigured to present or display any number of different visual,graphical or numerical parameters associated with the movement of anobject and are not limited to the descriptions provided.

In some examples, processing and display unit 250 may be a display matfor use on a horizontal and flat surface, which display mat may bevarious sizes, shapes or dimensions. A display mat (e.g., display mat104 (FIG. 1A)) may be configured such that the user stands on the matwhile moving the object, or stands adjacent to the mat while moving theobject. A display mat may also be made of a material that is durable,impact resistant and able to sustain the weight of a person. In someexamples, a display mat may be made of a material that is easily rolledup and lightweight for easy portability. As an example, a display matmay be made of an array of surface mounted light emitting devices(LEDs). The display mat may be configured to present or display any orall of the visual, graphic or numerical parameters discussed above. Inother examples, processing and display unit 250 may be implementeddifferently and is not limited to the descriptions provided.

In other examples, processing and display unit 250 may be a portabledisplay device for handheld use. In some examples, a portable displaydevice may be small, lightweight and easily transported by the user. Inother examples, a portable display device may be various sizes, shapesor dimensions. A portable display device may also be configured topresent or display any or all of the visual, graphic or numericalparameters discussed above. In other examples, processing and displayunit 250 as a portable display device may be implemented differently andis not limited to the descriptions provided.

In some examples, a power supply (not shown) such as a battery orexternal AC/DC converter may be coupled to processing and display unit250. Power supplies may be implemented as rechargeable,non-rechargeable, portable, or disposable batteries. In other examples,a battery (not shown) may be implemented as part of processing anddisplay unit 250, supplying power to processing and display unit 250 andits associated components. In still other examples, a power source maybe implemented as another attachment to processing and display unit 250.

Here, wireless modem 254 is coupled to wireless transceiver 252 forsending and receiving signals (e.g., RF) between processing and displayunit 250 and motion sensor unit 200 (described above in connection withFIG. 2A). In some examples, wireless transceiver 252 may be configuredto send and receive communication signals using various wireless formats(e.g., ZigBee, RF waves, IEEE 802.11, Bluetooth, UHF, or others).

Here, wireless modem 254 communicates the data signal tomicro-controller 256. In some examples, micro-controller 256 isconfigured to process the measured data captured by motion sensor unit200 (described above in connection with FIG. 2A). Micro-controller 256may calculate values associated with movement of an object (e.g., threedimensional velocity, three dimensional rotational velocity, locationcoordinates, maximum velocity, impact velocity, relative angle of objectat point of impact, or others) using the movement data captured bymotion sensor unit 200 (described above in connection with FIG. 2A).

Here, micro-controller 256 communicates a position data signal todisplay driver 258 and swing position data to info driver 262. Herefurther, display driver 258 communicates the position data to pathdriver 260. Finally, path driver 260 and info driver 262 communicate theposition and swing position data to and from user interface 264.

In some examples, user interface 264 may be configured to include usercontrols which allow user configuration of the system. User interface264 controls may include various input mechanism and allow the user tosave a selected reference point (i.e., “best swing”) or select thedesired display parameters. In some examples, user interface 264 may beconfigured to include an acoustic signal to provide an auditoryindication. In other examples, user interface 264 may be configureddifferently and is not limited to the descriptions provided. Stillfurther, processing and display unit 250 and the above-describedelements may be implemented differently and is not limited to thedescriptions or examples provided above.

FIG. 3A illustrates an exemplary motion sensor unit. Here, a top view ofan exemplary user of the motion sensor unit is shown. In this example,motion sensor unit 300, impact object 302, movement object 304, axialrotation 306, planar rotation 308, x-axis 320 and y axis 322 are shown.Motion sensor unit 300 may be configured and implemented as describedabove as motion sensor unit 200 (described above in connection with FIG.2A). As shown here, motion sensor unit 300 may be used to measure andcapture axial rotation 306, planar rotation 308, x-axis accelerationalong x-axis 320 and y-axis acceleration along y-axis 322. In otherexamples, motion sensor unit 300 may be configured to measure andcapture other parameters associated with movement of an object and isnot limited by the descriptions provided.

As shown here, motion sensor 300 is coupled to movement object 304, asshown here as a golf club. In other examples, movement object 304 may bea tennis racket, baseball bat, softball bat, hockey stick, othersporting equipment, or other moveable object. As shown here, movementobject 304 is intended to make dynamic contact with impact object 302,as shown here as a golf ball. In other examples, impact object 302 maybe a baseball, softball, hockey puck, or other moving object. In otherexamples, movement object 304 and impact object 302 may be different andare not limited to the descriptions provided.

FIG. 3B illustrates a further exemplary motion sensor unit. Here, a sideview of an exemplary user of the motion sensor unit is shown. In thisexample, motion sensor unit 300, movement object 304, orthogonalrotation 310, x-axis 320 and z-axis 324 are shown. Motion sensor unit300 may be configured and implemented as described above as motionsensor unit 200 (described above in connection with FIG. 2A). As shownhere, motion sensor unit 300 may be used to measure and captureorthogonal rotation 310, x-axis acceleration along x-axis 320 and z-axisacceleration along z-axis 324. In other examples, motion sensor unit 300may be configured to measure and capture other parameters associatedwith movement of an object and is not limited by the descriptionsprovided.

As shown here, motion sensor 300 is coupled to movement object 304, asshown here as a golf club. In other examples, movement object 304 may bea tennis racket, baseball bat, softball bat, hockey stick, othersporting equipment, or other moveable object. As shown here, movementobject 304 is intended to make dynamic contact with impact object (notshown). In other examples, movement object 304 may be different and isnot limited to the descriptions provided.

FIG. 4A illustrates an exemplary process for motion capture andanalysis. In some examples, data associated with movement of an objectmay be captured (402). The data may be processed to determine valuesassociated with movement of the object (404). The data and the valuesmay be stored (406). The data and values may be converted from analog todigital for a wireless transmission (408). The data and the values maybe transmitted using a wireless connection (410). Once transmitted, dataand values may be received using, for example, a wireless modem (FIG.2B) configured to modulate or demodulate transmitted data for processingand presentation on a display (e.g., display 108 (FIGS. 1A-1C) (412).The data and values may be presented graphically (414). Theabove-described process may be varied in function, processes andperformed in any arbitrary order and is not limited to the examplesshown and described.

FIG. 4B and FIG. 4C illustrate an alternative exemplary process formotion capture and analysis. In some examples, binary data may be read(420). The frame may be split into 6 sensor channels (422). The binarydata may be converted into integer values (424). The data and integervalues may be filtered (426). Optionally, a “swing started” calculationmay be performed (not shown) to determine when a swinging motion begins.A “swing started” calculation or determination may be performed, in someexamples, after filtering data and integer values. Further, an optionaloperation for creating a lapsed time index may also be created (notshown). The data may be averaged to create initial offset values (432).Relative rotation may be converted to absolute data (434). The sensordata may be integrated (436). The adjusted calibration data may becalculated (438). Relative data may be converted to absolute data (440).A velocity calculation may be performed (442). A velocity clampingcalculation may be performed (444). Optionally, a “swing end”calculation may be performed to determine when a swing motion ends orterminates (446). Velocity data may be integrated to determine location(448). Location data may be translated to object head (450). Theabove-described process may be varied in function, processes andperformed in any arbitrary order and is not limited to the examplesshown and described.

FIG. 5 illustrates an exemplary computer system suitable to implementmotion capture and analysis. In some examples, computer system 500 maybe used to implement computer programs, applications, methods,processes, or other software to perform the above-described techniques.Computer system 500 includes a bus 502 or other communication mechanismfor communicating information, which interconnects subsystems anddevices, such as processor 504, system memory 506 (e.g., RAM), storagedevice 508 (e.g., ROM), disk drive 510 (e.g., magnetic or optical),communication interface 512 (e.g., modem or Ethernet card), display 514(e.g., CRT or LCD), input device 516 (e.g., keyboard), and outputcontrol 518.

According to some examples, computer system 500 performs specificoperations by processor 504 executing one or more sequences of one ormore instructions stored in system memory 506. Such instructions may beread into system memory 506 from another computer readable medium, suchas static storage device 508 or disk drive 510. In some examples,hard-wired circuitry may be used in place of or in combination withsoftware instructions for implementation.

The term “computer readable medium” refers to any tangible medium thatparticipates in providing instructions to processor 504 for execution.Such a medium may take many forms, including but not limited to,non-volatile media and volatile media. Non-volatile media includes, forexample, optical or magnetic disks, such as disk drive 510. Volatilemedia includes dynamic memory, such as system memory 506.

Common forms of computer readable media includes, for example, floppydisk, flexible disk, hard disk, magnetic tape, any other magneticmedium, CD-ROM, any other optical medium, punch cards, paper tape, anyother physical medium with patterns of holes, RAM, PROM, EPROM,FLASH-EPROM, any other memory chip or cartridge, or any other mediumfrom which a computer can read.

Instructions may further be transmitted or received using a transmissionmedium. The term “transmission medium” may include any tangible orintangible medium that is capable of storing, encoding or carryinginstructions for execution by the machine, and includes digital oranalog communications signals or other intangible medium to facilitatecommunication of such instructions. Transmission media includes coaxialcables, copper wire, and fiber optics, including wires that comprise bus502 for transmitting a computer data signal.

In some examples, execution of the sequences of instructions may beperformed by a single computer system 500. According to some examples,two or more computer systems 500 coupled by communication link 520(e.g., LAN, PSTN, or wireless network) may perform the sequence ofinstructions in coordination with one another. Computer system 500 maytransmit and receive messages, data, and instructions, includingprogram, i.e., application code, through communication link 520 andcommunication interface 512. Received program code may be executed byprocessor 504 as it is received, and/or stored in disk drive 510, orother non-volatile storage for later execution.

Although the foregoing examples have been described in some detail forpurposes of clarity of understanding, the invention is not limited tothe details provided. There are many alternative ways of implementingthe invention. The disclosed examples are illustrative and notrestrictive.

What is claimed is:
 1. A system, comprising: a motion sensor unitconfigured to be adjustably and detachably coupled to, but notmechanically integrated with, an outer surface at a first location on anobject, the object being used in a physical sport or leisure activity,the motion sensor unit being further configured to capture dataassociated with movement of the object, to process the data to determineone or more values associated with movement of the object, and totranslate the data or values to correspond to a second location on theobject located away from the first location; and a display unitconfigured to receive the data and values from the motion sensor unit,the data and values being transmitted using wireless transmission, tostore the data and values, and to graphically present the data andvalues.
 2. The system of claim 1, wherein the data comprisesacceleration data associated with the object.
 3. The system of claim 1,wherein the data comprises angular momentum data associated with theobject.
 4. The system of claim 1, wherein the one or more valuesindicate a maximum velocity associated with the object.
 5. The system ofclaim 1, wherein the one or more values indicate a graphical pathassociated with the object.
 6. The system of claim 1, wherein the one ormore values indicate a velocity associated with the object at a timewhen the object impacts another object.
 7. The system of claim 1,wherein the one or more values indicate an angle associated with theobject at a time when the object impacts another object.
 8. The systemof claim 1, wherein the one or more values indicate a trajectoryassociated with the object adheres to a fixed plane.
 9. The system ofclaim 1, further comprising a control unit coupled to the motion sensorunit, the control unit being configured to receive input.
 10. The systemof claim 1, further comprising a graphic indicator unit coupled to themotion sensor unit, the graphic indicator unit being configured topresent the data and the one or more values.
 11. The system of claim 1,wherein the display unit is configured to graphically present the dataand the one or more values as an image.
 12. The system of claim 1,wherein the display unit is configured to graphically present an imagecomprising the data and the one or more values.
 13. The system of claim1, wherein the display unit is a display mat.
 14. The system of claim 1,wherein the object is selected from the group consisting of a golf club,a baseball bat, a tennis racket, a hockey stick, a fishing pole, aracquetball racquet and a squash racquet.
 15. The system of claim 1,wherein the motion sensor includes an accelerometer and a gyroscope. 16.A system, comprising: a motion sensor unit configured to be adjustablycoupled to, but not mechanically integrated with, an outer surface at afirst location on an object using an adjustable attachment mechanism andto capture data associated with movement of the object, the object beingused in a physical sports or leisure activity; a processor configured toprocess the data to determine one or more values associated withmovement of the object, and to translate the values and data tocorrespond to a second location on the object located away from thefirst location; a wireless transmitter being coupled to the motionsensor unit, the wireless transmitter being configured to transmit thedata; and a display unit configured to generate one or more images basedon the data and values, the display unit comprising a display and awireless transceiver configured to send and receive the data from themotion sensor unit.
 17. The system of claim 16, wherein the motionsensor includes an accelerometer and a gyroscope.
 18. A method,comprising: capturing data associated with movement of an object, thedata corresponding to a first location on the object and being capturedby a motion sensor unit adjustably coupled to, but not mechanicallyintegrated with, an outer surface of the object at the first locationusing an adjustable attachment mechanism, the object being used in aphysical sports or leisure activity; processing the data to determineone or more values associated with the movement of the object;translating the values to correspond to a second location on the objectlocated away from the first location; storing the data and the one ormore values; transmitting the data and values using a wirelessconnection established between a wireless transmitter and a wirelessreceiver; and presenting the data and the one or more valuesgraphically.
 19. The method of claim 18, further comprising: generatingone or more images based on the transmitted data and values; anddisplaying the images on a display.
 20. The method of claim 18, whereincapturing data includes capturing the outputs of an accelerometer and agyroscope.